<template>
	<view class="content">
<canvas class="facecat" id="myCanvas" canvas-id="myCanvas" style="width:100%;height:1200rpx;"/>
	</view>
</template>
<script>
	import facecat from './facecat.js';
	let gPaint = new facecat.FCPaint();
	let tChart = null;
	
    /*
    * 点击方法
    * view:视图
    * firstTouch:是否第一次触摸
    * firstPoint:第一次触摸的坐标
    * secondTouch:是否第二次触摸
    * secondPoint:第二次触摸的坐标
    * clicks:点击次数
    */
    let onClick = function (view, firstTouch, firstPoint, secondTouch, secondPoint, clicks) {
        facecat.onClickDefault(view, firstTouch, firstPoint, secondTouch, secondPoint, clicks);
		if (view.viewName == "Indicator") {
			if (view.text == "BOLL" || view.text == "MA") {
				tChart.mainIndicator = view.text;
			} else {
				tChart.showIndicator = view.text;
			}
			facecat.calcChartIndicator(tChart);
			let tabView2 = view.parent.parent.parent;
			facecat.selectTabPage(tabView2, tabView2.tabPages[0]);  
			facecat.invalidate(view.paint);
		} else if (view.viewName == "Plot") {
			tChart.addingPlot = view.text;
		  let tabView3 = view.parent.parent.parent;
		  facecat.selectTabPage(tabView3, tabView3.tabPages[0]);  
		  facecat.invalidate(view.paint);
		}
	};

	/*
	* 鼠标按下实现方法
	* view:视图
	* mp:坐标
	* button:按钮
	* clicks:点击次数
	* delta:滚轮值
	*/
	let onMouseDown = function (view, mp, buttons, clicks, delta) {
        if (view.viewType == "chart") {
			if (!view.data || view.data.length == 0) {
				return;
			}
			if (view.addingPlot.length > 0) {
				facecat.addPlotDefault(view, true, mp, false, mp);
				view.addingPlot = "";
				facecat.invalidateView(view);
			} else {
				facecat.touchDownChart(view, true, mp, false, mp);
				facecat.invalidateView(view);
			}
		}else{
			facecat.onMouseDownDefault (view, mp, buttons, clicks, delta);
		}
	};

	/*
	* 鼠标移动实现方法
	* view:视图
	* mp:坐标
	* button:按钮
	* clicks:点击次数
	* delta:滚轮值
	*/
	let onMouseMove = function (view, mp, buttons, clicks, delta) {
		facecat.onMouseMoveDefault(view, mp, buttons, clicks, delta);
	};

	/*
	* 鼠标滚动实现方法
	* view:视图
	* mp:坐标
	* button:按钮
	* clicks:点击次数
	* delta:滚轮值
	*/
	let onMouseWheel = function (view, mp, buttons, clicks, delta) {
		if (window.event.ctrlKey && view.paint) {
			//放大显示
			if (delta < 0) {
				view.paint.scaleFactorX = view.paint.scaleFactorX + 0.1;
				view.paint.scaleFactorY = view.paint.scaleFactorY + 0.1;
				//resizeAll();
				//缩小显示
			} else if (delta > 0) {
				if (view.paint.scaleFactorX > 0.2) {
					view.paint.scaleFactorX = view.paint.scaleFactorX - 0.1;
					view.paint.scaleFactorY = view.paint.scaleFactorY - 0.1;
					//resizeAll();
				}
			}
			return;
		}
		facecat.onMouseWheelDefault(view, mp, buttons, clicks, delta);
	};

	/*
	* 鼠标抬起实现方法
	* view:视图
	* mp:坐标
	* button:按钮
	* clicks:点击次数
	* delta:滚轮值
	*/
	let onMouseUp = function (view, mp, buttons, clicks, delta) {
		facecat.onMouseUpDefault(view, mp, buttons, clicks, delta);
	};

	/*
	* 触摸开始方法
	* view:视图
	* firstTouch:是否第一次触摸
	* firstPoint:第一次触摸的坐标
	* secondTouch:是否第二次触摸
	* secondPoint:第二次触摸的坐标
	*/
	let onTouchBegin = function (view, firstTouch, firstPoint, secondTouch, secondPoint) {
        if (view.viewType == "chart") {
			if (!view.data || view.data.length == 0) {
				return;
			}
			if (view.addingPlot.length > 0) {
				facecat.addPlotDefault(view,firstTouch, firstPoint, secondTouch, secondPoint);
				view.addingPlot = "";
				facecat.invalidateView(view);
			} else {
				facecat.touchDownChart(view, firstTouch, firstPoint, secondTouch, secondPoint);
				facecat.invalidateView(view);
			}
		}else{
			facecat.onTouchBeginDefault(view, firstTouch, firstPoint, secondTouch, secondPoint);
		}
	};

	/*
	* 触摸移动方法
	* view:视图
	* firstTouch:是否第一次触摸
	* firstPoint:第一次触摸的坐标
	* secondTouch:是否第二次触摸
	* secondPoint:第二次触摸的坐标
	*/
	let onTouchMove = function (view, firstTouch, firstPoint, secondTouch, secondPoint) {
		facecat.onTouchMoveDefault(view, firstTouch, firstPoint, secondTouch, secondPoint);
	};

	/*
	* 触摸结束方法
	* view:视图
	* firstTouch:是否第一次触摸
	* firstPoint:第一次触摸的坐标
	* secondTouch:是否第二次触摸
	* secondPoint:第二次触摸的坐标
	*/
	let onTouchEnd = function (view, firstTouch, firstPoint, secondTouch, secondPoint) {
		facecat.onTouchEndDefault(view, firstTouch, firstPoint, secondTouch, secondPoint);
	};
		
	export default { 
		data() {
			return {
				widthEle : 0, 
				heightEle: 0
			}
		},
		onLoad() {
		},
		mounted(){
				const canvas = document.querySelector('#myCanvas');
				gPaint.isMobile = facecat.isMobileMode();
				//注册事件
				facecat.addMouseDownEvent(canvas, gPaint, onMouseDown);
				facecat.addMouseMoveEvent(canvas, gPaint, onMouseMove);
				facecat.addMouseWheelEvent(canvas, gPaint, onMouseWheel);
				facecat.addMouseUpEvent(canvas, gPaint, onMouseUp, onClick);
				facecat.addTouchBeginEvent(canvas, gPaint, onTouchBegin);
				facecat.addTouchMoveEvent(canvas, gPaint, onTouchMove);
				facecat.addTouchEndEvent(canvas, gPaint, onTouchEnd, onClick);
				uni.createSelectorQuery().in(this).select(".facecat").boundingClientRect(data=>
				{
					this.widthEle = data.width;
					this.heightEle = data.height;
				}).exec(); 
				canvas.width = this.widthEle;
				canvas.height = this.heightEle;
				gPaint.canvas = canvas;
				gPaint.container = this;
				/*
				* 重绘背景的实现方法
				* view:视图
				* paint:绘图对象
				* clipRect:裁剪区域
				*/
				gPaint.onPaint = function (view, paint, clipRect) {
					facecat.onPaintDefault(view, paint, clipRect);
				};
		
				/*
				* 重绘边框的实现方法
				* view:视图
				* paint:绘图对象
				* clipRect:裁剪区域
				*/
				gPaint.onPaintBorder = function (view, paint, clipRect) {
					facecat.onPaintBorderDefault(view, paint, clipRect);
				};
				 /*
				  * 更新布局的实现方法
				  * views:视图集合
				  */
				gPaint.updateViewCallBack = function (views) {
					facecat.updateViewDefault(views);
				}
				let securityDatas = [];
				let sData1 = new facecat.SecurityData();
				sData1.volume = 78469.756458;
				sData1.close = 15684.25;
				sData1.high = 15965.01;
				sData1.low = 15272.69;
				sData1.open = 15297.22;
				sData1.date = 1605052800.0;
				securityDatas.push(sData1);
				let sData2 = new facecat.SecurityData();
				sData2.volume = 102196.366592;
				sData2.close = 16291.87;
				sData2.high = 16340.71;
				sData2.low = 15440.65;
				sData2.open = 15684.26;
				sData2.date = 1605139200.0;
				securityDatas.push(sData2);
				let sData3 = new facecat.SecurityData();
				sData3.volume = 75691.891014;
				sData3.close = 16320.71;
				sData3.high = 16480.01;
				sData3.low = 15952.36;
				sData3.open = 16291.86;
				sData3.date = 1605225600.0;
				securityDatas.push(sData3);
				let sData4 = new facecat.SecurityData();
				sData4.volume = 59116.357179;
				sData4.close = 16070.46;
				sData4.high = 16327.0;
				sData4.low = 15670.01;
				sData4.open = 16320.05;
				sData4.date = 1605312000.0;
				securityDatas.push(sData4);
				let sData5 = new facecat.SecurityData();
				sData5.volume = 43596.851513;
				sData5.close = 15957.01;
				sData5.high = 16180.01;
				sData5.low = 15774.73;
				sData5.open = 16069.57;
				sData5.date = 1605398400.0;
				securityDatas.push(sData5);
				let sData6 = new facecat.SecurityData();
				sData6.volume = 81300.685924;
				sData6.close = 16713.58;
				sData6.high = 16880.01;
				sData6.low = 15864.01;
				sData6.open = 15957.01;
				sData6.date = 1605484800.0;
				securityDatas.push(sData6);
				let sData7 = new facecat.SecurityData();
				sData7.volume = 115192.02613;
				sData7.close = 17659.39;
				sData7.high = 17858.83;
				sData7.low = 16538.01;
				sData7.open = 16713.09;
				sData7.date = 1605571200.0;
				securityDatas.push(sData7);
				let sData8 = new facecat.SecurityData();
				sData8.volume = 141984.264415;
				sData8.close = 17776.13;
				sData8.high = 18476.94;
				sData8.low = 17222.01;
				sData8.open = 17659.39;
				sData8.date = 1605657600.0;
				securityDatas.push(sData8);
				let sData9 = new facecat.SecurityData();
				sData9.volume = 93009.571008;
				sData9.close = 17802.83;
				sData9.high = 18179.81;
				sData9.low = 17335.66;
				sData9.open = 17777.76;
				sData9.date = 1605744000.0;
				securityDatas.push(sData9);
				let sData10 = new facecat.SecurityData();
				sData10.volume = 88423.028489;
				sData10.close = 18655.68;
				sData10.high = 18815.23;
				sData10.low = 17740.05;
				sData10.open = 17802.82;
				sData10.date = 1605830400.0;
				securityDatas.push(sData10);
				let sData11 = new facecat.SecurityData();
				sData11.volume = 71308.137138;
				sData11.close = 18703.81;
				sData11.high = 18965.91;
				sData11.low = 18308.59;
				sData11.open = 18655.67;
				sData11.date = 1605916800.0;
				securityDatas.push(sData11);
				let sData12 = new facecat.SecurityData();
				sData12.volume = 74492.806006;
				sData12.close = 18414.61;
				sData12.high = 18750.01;
				sData12.low = 17699.8;
				sData12.open = 18703.81;
				sData12.date = 1606003200.0;
				securityDatas.push(sData12);
				let sData13 = new facecat.SecurityData();
				sData13.volume = 74179.661546;
				sData13.close = 18368.01;
				sData13.high = 18766.01;
				sData13.low = 18000.01;
				sData13.open = 18413.89;
				sData13.date = 1606089600.0;
				securityDatas.push(sData13);
				let sData14 = new facecat.SecurityData();
				sData14.volume = 70126.693681;
				sData14.close = 19160.02;
				sData14.high = 19410.0;
				sData14.low = 18207.99;
				sData14.open = 18368.02;
				sData14.date = 1606176000.0;
				securityDatas.push(sData14);
				let sData15 = new facecat.SecurityData();
				sData15.volume = 70760.56353;
				sData15.close = 18719.12;
				sData15.high = 19444.01;
				sData15.low = 18570.01;
				sData15.open = 19160.01;
				sData15.date = 1606262400.0;
				securityDatas.push(sData15);
				let sData16 = new facecat.SecurityData();
				sData16.volume = 102420.321403;
				sData16.close = 17149.48;
				sData16.high = 18915.04;
				sData16.low = 16188.01;
				sData16.open = 18718.84;
				sData16.date = 1606348800.0;
				securityDatas.push(sData16);
				let sData17 = new facecat.SecurityData();
				sData17.volume = 84036.578341;
				sData17.close = 17139.53;
				sData17.high = 17457.63;
				sData17.low = 16438.09;
				sData17.open = 17149.48;
				sData17.date = 1606435200.0;
				securityDatas.push(sData17);
				let sData18 = new facecat.SecurityData();
				sData18.volume = 60835.734083;
				sData18.close = 17719.86;
				sData18.high = 17880.5;
				sData18.low = 16865.57;
				sData18.open = 17139.54;
				sData18.date = 1606521600.0;
				securityDatas.push(sData18);
				let sData19 = new facecat.SecurityData();
				sData19.volume = 55329.026303;
				sData19.close = 18185.0;
				sData19.high = 18360.06;
				sData19.low = 17517.01;
				sData19.open = 17719.85;
				sData19.date = 1606608000.0;
				securityDatas.push(sData19);
				let sData20 = new facecat.SecurityData();
				sData20.volume = 96227.350495;
				sData20.close = 19695.88;
				sData20.high = 19777.04;
				sData20.low = 18185.0;
				sData20.open = 18185.01;
				sData20.date = 1606694400.0;
				securityDatas.push(sData20);
				let sData21 = new facecat.SecurityData();
				sData21.volume = 100331.141203;
				sData21.close = 18764.97;
				sData21.high = 19888.01;
				sData21.low = 18350.0;
				sData21.open = 19695.88;
				sData21.date = 1606780800.0;
				securityDatas.push(sData21);
				let sData22 = new facecat.SecurityData();
				sData22.volume = 75848.875728;
				sData22.close = 19204.1;
				sData22.high = 19342.01;
				sData22.low = 18330.01;
				sData22.open = 18764.97;
				sData22.date = 1606867200.0;
				securityDatas.push(sData22);
				let sData23 = new facecat.SecurityData();
				sData23.volume = 64987.682732;
				sData23.close = 19421.91;
				sData23.high = 19598.01;
				sData23.low = 18867.21;
				sData23.open = 19204.09;
				sData23.date = 1606953600.0;
				securityDatas.push(sData23);
				let sData24 = new facecat.SecurityData();
				sData24.volume = 65481.220724;
				sData24.close = 18650.53;
				sData24.high = 19527.01;
				sData24.low = 18565.32;
				sData24.open = 19422.35;
				sData24.date = 1607040000.0;
				securityDatas.push(sData24);
				let sData25 = new facecat.SecurityData();
				sData25.volume = 42922.758573;
				sData25.close = 19147.67;
				sData25.high = 19177.01;
				sData25.low = 18500.01;
				sData25.open = 18650.52;
				sData25.date = 1607126400.0;
				securityDatas.push(sData25);
				let sData26 = new facecat.SecurityData();
				sData26.volume = 37043.101861;
				sData26.close = 19359.41;
				sData26.high = 19420.01;
				sData26.low = 18857.01;
				sData26.open = 19147.67;
				sData26.date = 1607212800.0;
				securityDatas.push(sData26);
				let sData27 = new facecat.SecurityData();
				sData27.volume = 40833.661907;
				sData27.close = 19166.91;
				sData27.high = 19420.92;
				sData27.low = 18902.89;
				sData27.open = 19358.68;
				sData27.date = 1607299200.0;
				securityDatas.push(sData27);
				let sData28 = new facecat.SecurityData();
				sData28.volume = 56080.515386;
				sData28.close = 18324.12;
				sData28.high = 19294.85;
				sData28.low = 18200.01;
				sData28.open = 19166.91;
				sData28.date = 1607385600.0;
				securityDatas.push(sData28);
				let sData29 = new facecat.SecurityData();
				sData29.volume = 75498.213856;
				sData29.close = 18541.29;
				sData29.high = 18639.58;
				sData29.low = 17650.01;
				sData29.open = 18324.12;
				sData29.date = 1607472000.0;
				securityDatas.push(sData29);
				let sData30 = new facecat.SecurityData();
				sData30.volume = 52890.685094;
				sData30.close = 18254.64;
				sData30.high = 18557.33;
				sData30.low = 17911.13;
				sData30.open = 18541.3;
				sData30.date = 1607558400.0;
				securityDatas.push(sData30);
				let sData31 = new facecat.SecurityData();
				sData31.volume = 72610.734259;
				sData31.close = 18036.54;
				sData31.high = 18292.74;
				sData31.low = 17572.34;
				sData31.open = 18254.82;
				sData31.date = 1607644800.0;
				securityDatas.push(sData31);
				let sData32 = new facecat.SecurityData();
				sData32.volume = 47592.761572;
				sData32.close = 18808.7;
				sData32.high = 18948.67;
				sData32.low = 18020.71;
				sData32.open = 18036.54;
				sData32.date = 1607731200.0;
				securityDatas.push(sData32);
				let sData33 = new facecat.SecurityData();
				sData33.volume = 56560.831744;
				sData33.close = 19175.0;
				sData33.high = 19411.01;
				sData33.low = 18711.13;
				sData33.open = 18808.7;
				sData33.date = 1607817600.0;
				securityDatas.push(sData33);
				let sData34 = new facecat.SecurityData();
				sData34.volume = 47257.211294;
				sData34.close = 19273.15;
				sData34.high = 19349.01;
				sData34.low = 19000.01;
				sData34.open = 19175.0;
				sData34.date = 1607904000.0;
				securityDatas.push(sData34);
				let sData35 = new facecat.SecurityData();
				sData35.volume = 61792.483421;
				sData35.close = 19426.44;
				sData35.high = 19570.01;
				sData35.low = 19050.01;
				sData35.open = 19273.7;
				sData35.date = 1607990400.0;
				securityDatas.push(sData35);
				let sData36 = new facecat.SecurityData();
				sData36.volume = 97061.040854;
				sData36.close = 21335.53;
				sData36.high = 21560.01;
				sData36.low = 19278.61;
				sData36.open = 19426.44;
				sData36.date = 1608076800.0;
				securityDatas.push(sData36);
				let sData37 = new facecat.SecurityData();
				sData37.volume = 148769.444419;
				sData37.close = 22808.99;
				sData37.high = 23699.71;
				sData37.low = 21233.01;
				sData37.open = 21335.53;
				sData37.date = 1608163200.0;
				securityDatas.push(sData37);
				let sData38 = new facecat.SecurityData();
				sData38.volume = 79646.144315;
				sData38.close = 23107.4;
				sData38.high = 23285.19;
				sData38.low = 22350.01;
				sData38.open = 22797.16;
				sData38.date = 1608249600.0;
				securityDatas.push(sData38);
				let sData39 = new facecat.SecurityData();
				sData39.volume = 82430.712232;
				sData39.close = 23821.62;
				sData39.high = 24171.48;
				sData39.low = 22750.01;
				sData39.open = 23107.4;
				sData39.date = 1608336000.0;
				securityDatas.push(sData39);
				let sData40 = new facecat.SecurityData();
				sData40.volume = 74797.201958;
				sData40.close = 23455.53;
				sData40.high = 24295.01;
				sData40.low = 23060.01;
				sData40.open = 23821.61;
				sData40.date = 1608422400.0;
				securityDatas.push(sData40);
				let sData41 = new facecat.SecurityData();
				sData41.volume = 83424.441428;
				sData41.close = 22719.72;
				sData41.high = 24102.78;
				sData41.low = 21815.01;
				sData41.open = 23455.55;
				sData41.date = 1608508800.0;
				securityDatas.push(sData41);
				let sData42 = new facecat.SecurityData();
				sData42.volume = 87033.13616;
				sData42.close = 23810.8;
				sData42.high = 23837.11;
				sData42.low = 22353.41;
				sData42.open = 22719.89;
				sData42.date = 1608595200.0;
				securityDatas.push(sData42);
				let sData43 = new facecat.SecurityData();
				sData43.volume = 112830.021287;
				sData43.close = 23232.77;
				sData43.high = 24100.01;
				sData43.low = 22810.01;
				sData43.open = 23810.8;
				sData43.date = 1608681600.0;
				securityDatas.push(sData43);
				let sData44 = new facecat.SecurityData();
				sData44.volume = 69013.844252;
				sData44.close = 23729.21;
				sData44.high = 23794.44;
				sData44.low = 22703.43;
				sData44.open = 23232.4;
				sData44.date = 1608768000.0;
				securityDatas.push(sData44);
				let sData45 = new facecat.SecurityData();
				sData45.volume = 78024.251646;
				sData45.close = 24712.48;
				sData45.high = 24789.87;
				sData45.low = 23434.74;
				sData45.open = 23729.0;
				sData45.date = 1608854400.0;
				securityDatas.push(sData45);
				let sData46 = new facecat.SecurityData();
				sData46.volume = 97806.523386;
				sData46.close = 26493.4;
				sData46.high = 26867.04;
				sData46.low = 24500.01;
				sData46.open = 24712.48;
				sData46.date = 1608940800.0;
				securityDatas.push(sData46);
				let sData47 = new facecat.SecurityData();
				sData47.volume = 145880.8092;
				sData47.close = 26281.67;
				sData47.high = 28422.01;
				sData47.low = 25700.01;
				sData47.open = 26493.41;
				sData47.date = 1609027200.0;
				securityDatas.push(sData47);
				let sData48 = new facecat.SecurityData();
				sData48.volume = 79408.740817;
				sData48.close = 27079.42;
				sData48.high = 27500.01;
				sData48.low = 26101.01;
				sData48.open = 26281.55;
				sData48.date = 1609113600.0;
				securityDatas.push(sData48);
				let sData49 = new facecat.SecurityData();
				sData49.volume = 69255.341092;
				sData49.close = 27385.01;
				sData49.high = 27410.01;
				sData49.low = 25880.01;
				sData49.open = 27079.43;
				sData49.date = 1609200000.0;
				securityDatas.push(sData49);
				let sData50 = new facecat.SecurityData();
				sData50.volume = 95356.067826;
				sData50.close = 28875.55;
				sData50.high = 28996.01;
				sData50.low = 27320.01;
				sData50.open = 27385.01;
				sData50.date = 1609286400.0;
				securityDatas.push(sData50);
				let sData51 = new facecat.SecurityData();
				sData51.volume = 75491.419522;
				sData51.close = 28923.64;
				sData51.high = 29300.01;
				sData51.low = 27850.01;
				sData51.open = 28875.56;
				sData51.date = 1609372800.0;
				securityDatas.push(sData51);
				let sData52 = new facecat.SecurityData();
				sData52.volume = 54134.113624;
				sData52.close = 29331.7;
				sData52.high = 29600.01;
				sData52.low = 28624.58;
				sData52.open = 28923.64;
				sData52.date = 1609459200.0;
				securityDatas.push(sData52);
				let sData53 = new facecat.SecurityData();
				sData53.volume = 126100.088124;
				sData53.close = 32178.34;
				sData53.high = 33300.01;
				sData53.low = 28946.54;
				sData53.open = 29331.71;
				sData53.date = 1609545600.0;
				securityDatas.push(sData53);
				let sData54 = new facecat.SecurityData();
				sData54.volume = 110771.806254;
				sData54.close = 33000.06;
				sData54.high = 34778.12;
				sData54.low = 31963.0;
				sData54.open = 32176.46;
				sData54.date = 1609632000.0;
				securityDatas.push(sData54);
				let sData55 = new facecat.SecurityData();
				sData55.volume = 121030.155465;
				sData55.close = 31988.72;
				sData55.high = 33600.01;
				sData55.low = 28130.01;
				sData55.open = 33000.06;
				sData55.date = 1609718400.0;
				securityDatas.push(sData55);
				let sData56 = new facecat.SecurityData();
				sData56.volume = 111890.475678;
				sData56.close = 33949.54;
				sData56.high = 34360.01;
				sData56.low = 29900.01;
				sData56.open = 31989.76;
				sData56.date = 1609804800.0;
				securityDatas.push(sData56);
				let sData57 = new facecat.SecurityData();
				sData57.volume = 116093.037717;
				sData57.close = 36769.37;
				sData57.high = 36939.22;
				sData57.low = 33288.01;
				sData57.open = 33949.54;
				sData57.date = 1609891200.0;
				securityDatas.push(sData57);
				let sData58 = new facecat.SecurityData();
				sData58.volume = 121506.449096;
				sData58.close = 39432.29;
				sData58.high = 40365.01;
				sData58.low = 36300.01;
				sData58.open = 36769.37;
				sData58.date = 1609977600.0;
				securityDatas.push(sData58);
				let sData59 = new facecat.SecurityData();
				sData59.volume = 138625.042444;
				sData59.close = 40582.82;
				sData59.high = 41950.01;
				sData59.low = 36500.01;
				sData59.open = 39432.49;
				sData59.date = 1610064000.0;
				securityDatas.push(sData59);
				let sData60 = new facecat.SecurityData();
				sData60.volume = 75785.989675;
				sData60.close = 40088.23;
				sData60.high = 41380.01;
				sData60.low = 38720.01;
				sData60.open = 40586.97;
				sData60.date = 1610150400.0;
				securityDatas.push(sData60);
				let sData61 = new facecat.SecurityData();
				sData61.volume = 112638.990321;
				sData61.close = 38150.03;
				sData61.high = 41350.01;
				sData61.low = 35111.12;
				sData61.open = 40088.23;
				sData61.date = 1610236800.0;
				securityDatas.push(sData61);
				let sData62 = new facecat.SecurityData();
				sData62.volume = 231175.583454;
				sData62.close = 35404.48;
				sData62.high = 38264.75;
				sData62.low = 30420.01;
				sData62.open = 38150.03;
				sData62.date = 1610323200.0;
				securityDatas.push(sData62);
				let sData63 = new facecat.SecurityData();
				sData63.volume = 133948.161996;
				sData63.close = 34051.25;
				sData63.high = 36628.01;
				sData63.low = 32531.01;
				sData63.open = 35410.38;
				sData63.date = 1610409600.0;
				securityDatas.push(sData63);
				let sData64 = new facecat.SecurityData();
				sData64.volume = 124477.924938;
				sData64.close = 37371.39;
				sData64.high = 37850.01;
				sData64.low = 32380.01;
				sData64.open = 34049.16;
				sData64.date = 1610496000.0;
				securityDatas.push(sData64);
				let sData65 = new facecat.SecurityData();
				sData65.volume = 102950.399421;
				sData65.close = 39144.51;
				sData65.high = 40100.01;
				sData65.low = 36701.24;
				sData65.open = 37371.39;
				sData65.date = 1610582400.0;
				securityDatas.push(sData65);
				let sData66 = new facecat.SecurityData();
				sData66.volume = 111365.804668;
				sData66.close = 36742.23;
				sData66.high = 39747.77;
				sData66.low = 34538.89;
				sData66.open = 39145.22;
				sData66.date = 1610668800.0;
				securityDatas.push(sData66);
				let sData67 = new facecat.SecurityData();
				sData67.volume = 86348.441508;
				sData67.close = 35994.99;
				sData67.high = 37950.01;
				sData67.low = 35357.81;
				sData67.open = 36737.44;
				sData67.date = 1610755200.0;
				securityDatas.push(sData67);
				let sData68 = new facecat.SecurityData();
				sData68.volume = 80157.737384;
				sData68.close = 35828.62;
				sData68.high = 36852.51;
				sData68.low = 33850.01;
				sData68.open = 35994.99;
				sData68.date = 1610841600.0;
				securityDatas.push(sData68);
				let sData69 = new facecat.SecurityData();
				sData69.volume = 70693.90404;
				sData69.close = 36631.28;
				sData69.high = 37469.84;
				sData69.low = 34800.01;
				sData69.open = 35825.0;
				sData69.date = 1610928000.0;
				securityDatas.push(sData69);
				let sData70 = new facecat.SecurityData();
				sData70.volume = 79596.541309;
				sData70.close = 35891.5;
				sData70.high = 37850.01;
				sData70.low = 35844.07;
				sData70.open = 36622.47;
				sData70.date = 1611014400.0;
				securityDatas.push(sData70);
				let sData71 = new facecat.SecurityData();
				sData71.volume = 89368.432918;
				sData71.close = 35468.24;
				sData71.high = 36415.32;
				sData71.low = 33400.01;
				sData71.open = 35901.95;
				sData71.date = 1611100800.0;
				securityDatas.push(sData71);
				let sData72 = new facecat.SecurityData();
				sData72.volume = 134548.811336;
				sData72.close = 30850.14;
				sData72.high = 35600.01;
				sData72.low = 30071.01;
				sData72.open = 35468.24;
				sData72.date = 1611187200.0;
				securityDatas.push(sData72);
				let sData73 = new facecat.SecurityData();
				sData73.volume = 138345.853436;
				sData73.close = 32945.18;
				sData73.high = 33826.54;
				sData73.low = 28850.01;
				sData73.open = 30852.0;
				sData73.date = 1611273600.0;
				securityDatas.push(sData73);
				let sData74 = new facecat.SecurityData();
				sData74.volume = 64595.297675;
				sData74.close = 32078.01;
				sData74.high = 33456.01;
				sData74.low = 31390.17;
				sData74.open = 32950.01;
				sData74.date = 1611360000.0;
				securityDatas.push(sData74);
				let sData75 = new facecat.SecurityData();
				sData75.volume = 57978.047966;
				sData75.close = 32259.91;
				sData75.high = 33071.01;
				sData75.low = 30900.01;
				sData75.open = 32078.01;
				sData75.date = 1611446400.0;
				securityDatas.push(sData75);
				let sData76 = new facecat.SecurityData();
				sData76.volume = 88499.236921;
				sData76.close = 32254.21;
				sData76.high = 34875.01;
				sData76.low = 31910.01;
				sData76.open = 32259.46;
				sData76.date = 1611532800.0;
				securityDatas.push(sData76);
				let sData77 = new facecat.SecurityData();
				sData77.volume = 84866.207055;
				sData77.close = 32467.78;
				sData77.high = 32921.89;
				sData77.low = 30837.38;
				sData77.open = 32254.2;
				sData77.date = 1611619200.0;
				securityDatas.push(sData77);
				let sData78 = new facecat.SecurityData();
				sData78.volume = 95911.971711;
				sData78.close = 30366.16;
				sData78.high = 32557.3;
				sData78.low = 29241.73;
				sData78.open = 32464.02;
				sData78.date = 1611705600.0;
				securityDatas.push(sData78);
				let sData79 = new facecat.SecurityData();
				sData79.volume = 92621.155617;
				sData79.close = 33364.87;
				sData79.high = 33783.99;
				sData79.low = 29842.11;
				sData79.open = 30362.2;
				sData79.date = 1611792000.0;
				securityDatas.push(sData79);
				let sData80 = new facecat.SecurityData();
				sData80.volume = 193388.622446;
				sData80.close = 34252.21;
				sData80.high = 38531.91;
				sData80.low = 31915.41;
				sData80.open = 33368.19;
				sData80.date = 1611878400.0;
				securityDatas.push(sData80);
				let sData81 = new facecat.SecurityData();
				sData81.volume = 82674.758249;
				sData81.close = 34262.89;
				sData81.high = 34933.01;
				sData81.low = 32825.01;
				sData81.open = 34246.29;
				sData81.date = 1611964800.0;
				securityDatas.push(sData81);
				let sData82 = new facecat.SecurityData();
				sData82.volume = 66269.928016;
				sData82.close = 33092.99;
				sData82.high = 34342.7;
				sData82.low = 32171.68;
				sData82.open = 34262.9;
				sData82.date = 1612051200.0;
				securityDatas.push(sData82);
				let sData83 = new facecat.SecurityData();
				sData83.volume = 80154.567802;
				sData83.close = 33526.38;
				sData83.high = 34717.28;
				sData83.low = 32296.17;
				sData83.open = 33089.45;
				sData83.date = 1612137600.0;
				securityDatas.push(sData83);
				let sData84 = new facecat.SecurityData();
				sData84.volume = 78056.66988;
				sData84.close = 35466.25;
				sData84.high = 35984.34;
				sData84.low = 33418.01;
				sData84.open = 33517.1;
				sData84.date = 1612224000.0;
				securityDatas.push(sData84);
				let sData85 = new facecat.SecurityData();
				sData85.volume = 80784.343663;
				sData85.close = 37618.88;
				sData85.high = 37662.64;
				sData85.low = 35362.39;
				sData85.open = 35472.72;
				sData85.date = 1612310400.0;
				securityDatas.push(sData85);
				let sData86 = new facecat.SecurityData();
				sData86.volume = 89024.320756;
				sData86.close = 36936.67;
				sData86.high = 38708.28;
				sData86.low = 36161.96;
				sData86.open = 37620.27;
				sData86.date = 1612396800.0;
				securityDatas.push(sData86);
				let sData87 = new facecat.SecurityData();
				sData87.volume = 65910.531514;
				sData87.close = 38290.25;
				sData87.high = 38310.13;
				sData87.low = 36570.01;
				sData87.open = 36936.66;
				sData87.date = 1612483200.0;
				securityDatas.push(sData87);
				let sData88 = new facecat.SecurityData();
				sData88.volume = 94232.612846;
				sData88.close = 39186.95;
				sData88.high = 40955.52;
				sData88.low = 38215.95;
				sData88.open = 38289.33;
				sData88.date = 1612569600.0;
				securityDatas.push(sData88);
				let sData89 = new facecat.SecurityData();
				sData89.volume = 81820.439177;
				sData89.close = 38795.7;
				sData89.high = 39700.01;
				sData89.low = 37351.01;
				sData89.open = 39181.02;
				sData89.date = 1612656000.0;
				securityDatas.push(sData89);
				let sData90 = new facecat.SecurityData();
				sData90.volume = 121568.794672;
				sData90.close = 46374.88;
				sData90.high = 46794.46;
				sData90.low = 37988.9;
				sData90.open = 38795.7;
				sData90.date = 1612742400.0;
				securityDatas.push(sData90);
				let sData91 = new facecat.SecurityData();
				sData91.volume = 114567.009318;
				sData91.close = 46420.43;
				sData91.high = 48142.2;
				sData91.low = 44961.1;
				sData91.open = 46374.87;
				sData91.date = 1612828800.0;
				securityDatas.push(sData91);
				let sData92 = new facecat.SecurityData();
				sData92.volume = 78292.89657;
				sData92.close = 44807.59;
				sData92.high = 47310.01;
				sData92.low = 43800.01;
				sData92.open = 46420.43;
				sData92.date = 1612915200.0;
				securityDatas.push(sData92);
				let sData93 = new facecat.SecurityData();
				sData93.volume = 81033.184776;
				sData93.close = 47969.52;
				sData93.high = 48678.91;
				sData93.low = 43994.03;
				sData93.open = 44807.59;
				sData93.date = 1613001600.0;
				securityDatas.push(sData93);
				let sData94 = new facecat.SecurityData();
				sData94.volume = 81856.490636;
				sData94.close = 47287.61;
				sData94.high = 48985.81;
				sData94.low = 46400.01;
				sData94.open = 47968.67;
				sData94.date = 1613088000.0;
				securityDatas.push(sData94);
				let sData95 = new facecat.SecurityData();
				sData95.volume = 58937.84066;
				sData95.close = 47153.7;
				sData95.high = 48150.01;
				sData95.low = 46202.54;
				sData95.open = 47298.16;
				sData95.date = 1613174400.0;
				securityDatas.push(sData95);
				let sData96 = new facecat.SecurityData();
				sData96.volume = 70700.864117;
				sData96.close = 48577.8;
				sData96.high = 49707.44;
				sData96.low = 47014.18;
				sData96.open = 47156.79;
				sData96.date = 1613260800.0;
				securityDatas.push(sData96);
				let sData97 = new facecat.SecurityData();
				sData97.volume = 63227.659425;
				sData97.close = 47911.11;
				sData97.high = 49010.93;
				sData97.low = 46174.79;
				sData97.open = 48580.48;
				sData97.date = 1613347200.0;
				securityDatas.push(sData97);
				let sData98 = new facecat.SecurityData();
				sData98.volume = 78018.176005;
				sData98.close = 49133.46;
				sData98.high = 50080.22;
				sData98.low = 47003.63;
				sData98.open = 47911.11;
				sData98.date = 1613433600.0;
				securityDatas.push(sData98);
				let sData99 = new facecat.SecurityData();
				sData99.volume = 84886.224046;
				sData99.close = 52119.72;
				sData99.high = 52618.75;
				sData99.low = 48947.01;
				sData99.open = 49133.46;
				sData99.date = 1613520000.0;
				securityDatas.push(sData99);
				let sData100 = new facecat.SecurityData();
				sData100.volume = 58093.930825;
				sData100.close = 51552.61;
				sData100.high = 52530.01;
				sData100.low = 50901.91;
				sData100.open = 52117.68;
				sData100.date = 1613606400.0;
				securityDatas.push(sData100);
				//解析加载XML
				let xml = `<?xml version="1.0" encoding="utf-8"?>
				<html xmlns="facecat">
				  <head>
				  </head>
				  <body>
					<div dock="fill" type="tab" selectedindex="0" name="TabView">
					  <div name="TabPage" text="可视化生成" type="tabpage">
						<chart size="200,200" name="Chart" text="Chart" location="212,164" dock="Fill">
						</chart>
					  </div>
					  <div name="TabPage2" text="指标" type="tabpage" />
					  <div name="TabPage3" text="画线" type="tabpage" />
					</div>
				  </body>
				</html>
				`;
				facecat.renderFaceCat(gPaint, xml);
				let chart = facecat.findViewByName("Chart", gPaint.views);
				chart.backColor = "rgb(255,255,255)";
				chart.borderColor = "rgb(150,150,150)";
				chart.textColor = "rgb(0,0,0)";
				chart.scaleColor = "rgb(0,0,0)";
				chart.crossTipColor = "rgb(220,220,220)";
				chart.crossLineColor = "rgb(100,100,100)";
				chart.gridColor = "rgba(0,0,0,125)";
				tChart = chart;
				let tabPage2 = facecat.findViewByName("TabPage2", gPaint.views);
				let tabPage3 = facecat.findViewByName("TabPage3", gPaint.views);
				chart.rightVScaleWidth = 60;
				chart.location = new facecat.FCPoint(0, 0);
				chart.data = securityDatas;
				chart.mainIndicator = "BOLL"; //主图指标
				chart.showIndicator = "MACD"; //显示指标
				facecat.resetChartVisibleRecord(chart);
				facecat.checkChartLastVisibleIndex(chart);
				facecat.calcChartIndicator(chart);
					
				let indLayout = new facecat.FCLayoutDiv();
				indLayout.location = new facecat.FCPoint(0, 0);
				indLayout.size = new facecat.FCSize(tabPage2.size.cx, tabPage2.size.cy);
				indLayout.autoWrap = true;
				facecat.addViewToParent(indLayout, tabPage2);
				let indicators = new Array();
				indicators.push("MA");
				indicators.push("BOLL");
				indicators.push("MACD");
				indicators.push("KDJ");
				indicators.push("BIAS");
				indicators.push("BBI");
				indicators.push("RSI");
				indicators.push("ROC");
				indicators.push("WR");
				indicators.push("DMA");
				indicators.push("TRIX");
				indicators.push("CCI");
				for (let i = 0; i < indicators.length; i++) {
					let button = new facecat.FCButton();
					button.text = indicators[i];
					button.viewName = "Indicator";
					button.backColor = "rgb(255,255,255)";
					button.borderColor = "rgb(150,150,150)";
					button.textColor = "rgb(0,0,0)";
					button.size = new facecat.FCSize(100, 50);
					button.margin = new facecat.FCPadding(10, 10, 10, 10);
					button.location = new facecat.FCPoint(0, 0);
					facecat.addViewToParent(button, indLayout);
				}
					
				let indLayout2 = new facecat.FCLayoutDiv();
				indLayout2.location = new facecat.FCPoint(0, 0);
				indLayout2.size = new facecat.FCSize(tabPage3.size.cx, tabPage3.size.cy);
				indLayout2.autoWrap = true;
				facecat.addViewToParent(indLayout2, tabPage3);
					
				let plots = new Array();
				plots.push("Line");
				plots.push("Segment");
				plots.push("Ray");
				plots.push("Triangle");
				plots.push("Rect");
				plots.push("Cycle");
				plots.push("CircumCycle");
				plots.push("Ellipse");
				plots.push("AngleLine");
				plots.push("LRLine");
				plots.push("LRChannel");
				plots.push("SymmetricTriangle");
				plots.push("LRBand");
				plots.push("ParalleGram");
				plots.push("SpeedResist");
				plots.push("FiboFanline");
				plots.push("FiboTimezone");
				plots.push("Percent");
				plots.push("BoxLine");
				plots.push("TironeLevels");
				plots.push("QuadrantLines");
				plots.push("Parallel");
				plots.push("GoldenRatio");
				plots.push("ArrowSegment");
				for (let i = 0; i < plots.length; i++) {
					let button2 = new facecat.FCButton();
					button2.text = plots[i];
					button2.viewName = "Plot";
					button2.size = new facecat.FCSize(100, 50);
					button2.margin = new facecat.FCPadding(10, 10, 10, 10);
					button2.location = new facecat.FCPoint(0, 0);
					button2.backColor = "rgb(255,255,255)";
					button2.borderColor = "rgb(150,150,150)";
					button2.textColor = "rgb(0,0,0)";
					facecat.addViewToParent(button2, indLayout2);
				}
				facecat.updateViewDefault(gPaint.views);
				facecat.invalidate(gPaint);
		},
		methods: {  
		}
	}
</script>

<style>
</style>
